package br.com.universidade.castelo.branco.dao;

import java.util.List;

import br.com.universidade.castelo.branco.vo.Colaborador;
import br.com.universidade.castelo.branco.vo.ModeloResposta;
import br.com.universidade.castelo.branco.vo.Pergunta;
import br.com.universidade.castelo.branco.vo.Pesquisa;
import br.com.universidade.castelo.branco.vo.Questionario;
import br.com.universidade.castelo.branco.vo.Relacionamento;

public interface PesquisaDeSatisfacaoDAO {
	
	public List<Colaborador> validaLogin(Colaborador dadosLogin) throws Exception;
	public boolean adicionaColaborador(Colaborador dadosColaborador) throws Exception;
	public boolean adicionaPergunta(Pergunta dadosPergunta) throws Exception;
	public boolean adicionaPesquisa(int id_colaborador, int id_questionario, Pesquisa dadosPesquisa) throws Exception;
	public List<Questionario> listarQuestionario() throws Exception;
	public List<Pergunta> listarPerguntas() throws Exception;
	public List<Pergunta> listarPerguntasAlteraQuestionario(int id_pergunta) throws Exception;
	public List<ModeloResposta> listarModelosResposta() throws Exception;
	public List<ModeloResposta> listarModelosRespostaAlteraQuestionario(int id_modelo_resposta) throws Exception;
	public List<Colaborador> listarColaborador(Colaborador dadosColaborador) throws Exception;
	public boolean excluiColaborador(Colaborador colaborador) throws Exception;
	public Colaborador buscaColaboradorId(int id_colaborador) throws Exception;
	public boolean alteraColaborador(Colaborador dadosColaborador) throws Exception;
	public boolean excluiPergunta(Pergunta pergunta) throws Exception;
	public Pergunta buscaPerguntaId(int id_pergunta) throws Exception;
	public Colaborador buscaColaboradorLogin(String login) throws Exception;
	public boolean alteraPergunta(Pergunta dadosPergunta) throws Exception;
	public List<Pesquisa> listarPesquisa(Pesquisa dadosPesquisa, boolean dataPesquisaInvalida) throws Exception;
	public boolean excluiPesquisa(Pesquisa pesquisa) throws Exception;
	public Pesquisa buscaPesquisaId(int id_pesquisa) throws Exception;
	public boolean alteraPesquisa(int id_colaborador, int id_questionario, Pesquisa dadosPesquisa) throws Exception;
	public boolean adicionaTituloQuestionario(Questionario dadosQuestionario) throws Exception;
	public List<Questionario> listarTitulosQuestionario() throws Exception;
	public List<Questionario> listarTitulosQuestionarioAlteraQuestionario(int id_questionario) throws Exception;
	public boolean adicionaQuestionarioRelacionamento(int id_questionario,	int id_pergunta, int id_modelo_resposta, Integer ordemPergunta)	throws Exception;
	public boolean adicionaModeloResposta(ModeloResposta dadosModeloResposta, List<String> alternativas) throws Exception;
	public Questionario listarRelacionamento(Questionario questionario) throws Exception;
	public List<Relacionamento> listarRelacionamentoIdQuestionario(int id_questionario) throws Exception;
	public List<Relacionamento> listarQuestionarioEditar(int id_relacionamento) throws Exception;
	public List<Pesquisa> listarPesquisa() throws Exception;
	public List<Relacionamento> exibeQuestionarioCadastro(Relacionamento relacionam) throws Exception;
	public boolean alteraQuestionario(int id_relacionamento,int id_questionario, int id_pergunta, int id_modelo_resposta, Integer ordemPergunta) throws Exception;
	public boolean excluiQuestionario(Questionario dadosQuestionario) throws Exception;
	public boolean excluiQuestaoQuestionario(Relacionamento dadosRelacionamento) throws Exception;
	public List<Questionario> exibeTituloQuestionario(int id_questionario) throws Exception;
	public boolean alteraTituloQuestionario(Questionario dadosQuestionario) throws Exception;
	public ModeloResposta consultarModelosResposta(ModeloResposta modeloResposta) throws Exception;
	public List<ModeloResposta> consultarTituloModelosResposta() throws Exception;
	public List<ModeloResposta> buscaModeloResposta(int id_modelo_resposta) throws Exception;
	public boolean alteraModeloResposta(ModeloResposta dadosModeloResposta) throws Exception;
	public boolean excluiModeloResposta(ModeloResposta dadosModeloResposta) throws Exception;
	public boolean respostaPesquisa(List<Relacionamento> dadosRespostaPesquisa)	throws Exception;
	public boolean verificaPesquisaRespondida(int id_pesquisa, int id_colaborador) throws Exception;
}
